/**
 * @param {string} validateCode  账号校验
 * @returns {Boolean}
 */
export const validateCode = (rule, value, callback) => {
	const regex = /^[A-Za-z0-9]+$/;
	if (value != '') {
		if (!regex.test(value)) {
			callback(new Error('只允许输入数字或英文字母'));
		} else {
			return true;
		}
	}
	return true;
}

/**
 * @param {string} path 判断字符串是否是https?:|mailto:|tal: 开头的
 * @returns {Boolean}
 */
export function isExternal(path) {
	return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} isTel  是否手机号
 * @returns {Boolean}
 */
export const isTel = (rule, value, callback) => {
	const regex = /^1\d{10}$/;
	if (value != '') {
		if (!regex.test(value)) {
			callback(new Error('请输入正确的手机号码'));
		} else {
			return true;
		}
	}
	return true;
}

/**
 * @param {string} isIDCardNo  是否身份证号
 * @returns {Boolean}
 */
export const isIDCardNo = (rule, value, callback) => {
	const regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
	if (value != '') {
		if (!regex.test(value)) {
			callback(new Error('请输入正确的身份证号码'));
		} else {
			return true;
		}
	}
	return true;
}

/**
 * @param {string} positiveNum  大于0
 * @returns {Boolean}
 */
export const positiveNum = (rule, value, callback) => {
	if (value || value === 0) {
		if (value <= 0) {
			callback(new Error('请输入大于0的数量'));
		} else {
			return true;
		}
	}
	return true;
}